package cn.iocoder.yudao.module.tms.service.bandinfo;

import java.util.*;
import jakarta.validation.*;
import cn.iocoder.yudao.module.tms.controller.admin.bandinfo.vo.*;
import cn.iocoder.yudao.module.tms.dal.dataobject.bandinfo.BandInfoDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;

/**
 * 公司band信息 Service 接口
 *
 * @author 芋道源码
 */
public interface BandInfoService {

    /**
     * 创建公司band信息
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createBandInfo(@Valid BandInfoSaveReqVO createReqVO);

    /**
     * 更新公司band信息
     *
     * @param updateReqVO 更新信息
     */
    void updateBandInfo(@Valid BandInfoSaveReqVO updateReqVO);

    /**
     * 删除公司band信息
     *
     * @param id 编号
     */
    void deleteBandInfo(Long id);

    /**
     * 获得公司band信息
     *
     * @param id 编号
     * @return 公司band信息
     */
    BandInfoDO getBandInfo(Long id);

    /**
     * 获得公司band信息列表
     *
     * @param ids 编号
     * @return 公司band信息列表
     */
    BandInfoDO getBandInfoByCode(String code);

    /**
     * 获得公司band信息分页
     *
     * @param pageReqVO 分页查询
     * @return 公司band信息分页
     */
    PageResult<BandInfoDO> getBandInfoPage(BandInfoPageReqVO pageReqVO);

}